// 属性管理接口
import  request  from '@/utils/request'
import type { CategoryResponseData, AttrResponseData, Attr } from './type'
enum API {
  // 一级分类
  C1_URL = '/admin/product/getCategory1',
  // 二级分类
  C2_URL = '/admin/product/getCategory2/',
  // 三级分类
  C3_URL = '/admin/product/getCategory3/',
  // 获取分类下的属性值接口
  ATTR_URL = '/admin/product/attrInfoList/',
  // 添加修改已有属性接口
  ADDORUPDATEATTR_URL = '/admin/product/saveAttrInfo',
  // 删除已有属性接口
  DELETEATTR_URL = '/admin/product/deleteAttr/'
}

// 获取一级分类接口
export const reqC1 = () => request.get<any, CategoryResponseData>(API.C1_URL)

// 获取二级分类接口
export const reqC2 = (category1Id: number|string) => request.get<any, CategoryResponseData>(API.C2_URL+`${category1Id}`)

// 获取三级分类接口
export const reqC3 = (category2Id:number|string) => request.get<any, CategoryResponseData>(API.C3_URL+`${category2Id}`)

// 根据分类获取属性接口
export const reqAttr = (category1Id: string|number,category2Id: string|number,category3Id: string|number) => request.get<any,AttrResponseData>(API.ATTR_URL+`${category1Id}/${category2Id}/${category3Id}`)

// 添加修改属性
export const reqAddOrUpdateAttr = (data:Attr) => request.post<any,any>(API.ADDORUPDATEATTR_URL,data)

// 删除已有属性
export const reqRemoveAttr = (id:number) => request.delete<any,any>(API.DELETEATTR_URL+`${id}`)